import turtle as t  # 导入turtle模块并重命名为t
import random as r  # 导入random模块并重命名为r

# 设置turtle的朝向为东（90度）
t.seth(90)
# 设置绘制速度为最快
t.speed(0)
# 抬起画笔，移动时不会绘制
t.pu()

# 初始化x坐标位置
tx = 0

# 移动到起始位置(0, -300)
t.goto(tx, -300)

# 放下画笔，开始绘制
t.pd()

# 定义一个递归函数fc，用于绘制复杂图案
def fc(cd, cen, cx):
    # 设置颜色模式为RGB模式
    t.colormode(255)
    # 设置画笔颜色为橙色(102, 51, 0)
    t.pencolor(102, 51, 0)
    # 如果cen（中心长度）大于等于0，则继续绘制
    if cen >= 0:
        t.speed(0)
        #设置的画笔粗细值
        t.pensize(cx)
        # 绘制直线段
        t.fd(cd)
        # 左转15度
        t.left(15)
        # 随机生成长度c，并递归调用fc函数，中心长度减1，画笔粗细减4
        c = r.randint(10, 100)
        fc(c, cen - 1, cx - 4)
        # 将画笔颜色改为粉色，并绘制一个小圆圈
        t.pencolor('pink')
        t.fd(10)
        t.circle(2)
        # 后退10个单位
        t.bk(10)
        # 右转30度
        t.right(30)
        # 再次随机生成长度c，并递归调用fc函数
        c = r.randint(10, 100)
        fc(c, cen - 1, cx - 4)
        # 左转15度
        t.left(15)
        # 后退至原来的位置
        t.bk(cd)
    # 隐藏turtle形状
    t.hideturtle()

# 调用fc函数开始绘制第一个图案，长度60，中心长度4，画笔粗细20
fc(60, 4, 20)

# 抬起画笔，向前移动100个单位
t.pu()
t.fd(100)
# 放下画笔，继续绘制
t.pd()

# 调用fc函数绘制第二个图案，画笔粗细18
fc(60, 4, 18)

# 抬起画笔，向前移动100个单位
t.pu()
t.fd(100)
# 放下画笔，继续绘制
t.pd()

# 调用fc函数绘制第三个图案，画笔粗细17
fc(60, 4, 17)

# 抬起画笔，x坐标增加200个单位，移动到新位置
t.pu()
tx += 200
t.goto(tx, -300)
# 放下画笔，准备绘制
t.pd()

# 进入主循环，保持窗口开启
t.mainloop()